The present invention relates to a peripheral interface for a personal computer (PC), and more specifically, pertains to a method whereby a plug-and-play function, a feature of the USB (the Universal Serial Bus), is effected without requiring the intervention of an operator.
For an extended period of time, serial ports, represented by the standard interface RS-232C, and parallel ports, represented by the Centronics interface, have been the primary peripheral interfaces employed for personal computers (PCs). However, the maximum transmission speeds available with these ports are limited and are lower than those provided by other interfaces. In addition, each of these ports can accommodate only one device, so that if an additional peripheral device is to be connected to a PC, the number of available ports must be increased by one. Furthermore, individual ports are required for display devices, keyboards and mice, so that at present the rear faces of PCs are remarkably busy, and a variety of different ports are displayed for which the required connectors differ in accordance with the apparatuses for which they are to be used. Appropriate cables must therefore be procured and correctly matched when port connections are made, thereby increasing and complicating the labor imposed on operators (users).
To resolve these problems, the USB (Universal Serial Bus) has drawn special attention. The USB standardizes the interfaces and permits the connection to one port of a plurality of peripheral devices. The conventional serial and parallel interfaces basically provide one-to-one connections, and when a plurality of devices, such as a modem and a terminal adaptor (TA), are to be connected, a cable must be re-connected thereto each time, or a switching device is required. However, with USB, a maximum 16 independent functions can be defined for one peripheral device, and using hubs, a maximum 127 peripheral devices can be connected, as a tree. Further, the USB transmission speed is 12 Mbps at the maximum, which is about 100 times that of the RS-232C, the current main serial interface. In addition, USB includes a hot plug function that permits the removal and insertion of cables while the power to peripheral devices is on, and a plug-and-play (Plug and Play) function whereby a PC can automatically identify a peripheral device when it is connected to the PC. In addition to these advantageous features, USB is functionally superior, and as a result, has rapidly drawn attention as the standard peripheral interface that will most probably be used for the next-generation machines.
USB can provide an effective base for a system in which multiple peripheral terminal devices are connected together, and is especially suitable, for example, for a POS (Point Of Sales) system (point of sales information management system) in which multiple peripheral devices, such as a scanners for reading bar codes of product labels, handy terminals, electronic cash registers and touch panels, are connected to a computer called a store controller to which all information is transmitted. While the operation of a conventional POS system entails the use of a dedicated POS interface and software, there is a growing demand for a process by which conventional software, such as Windows, can be utilized to operate a POS system. Further, since in a store wherein mainly a POS system is employed, the connection and disconnection of peripheral devices is probably a frequent occurrence, and the plug-and-play and the hot plug functions of USB will effectively permit anyone to easily extend the system.
As is described above, a USB interface is so designed that it has a maximum of 16 functions (end points) for in and out transactions. However, conventionally, the majority of the USB controller chips sold by individual companies support only three to five end points, and are more distributed than are those that support more end points. A USB controller chip supports a USB interface that is combined with a controller LSI on a USB incompatible peripheral device; however, in order to include multiple functions, as does a POS terminal, the number of end points provided for one USB controller chip is insufficient. Therefore, a plurality of controllers are required, and accordingly, additional peripheral circuits, such as hubs, must be provided, a process that greatly increases manufacturing costs.
Furthermore, the individual functions that are available are normally optional, and since not all functions are employed at the same time, the increase in manufacturing costs involved in supporting optional, additional functions frequently presents an especially large problem for those stores wherein POS terminals are employed. On the other hand, there is a strong demand that the plug-and-play function, a major USB feature, be supported as a connection function, even though it is optional.
To resolve the above technical shortcomings, it is one object of the present invention to considerably reduce the hardware costs for a system in which the use of USB is supported by the employment of a USB controller chip.
It is another object of the present invention to dynamically reconstruct (re-enumerate) end points that are not used at the same time when the number of end points supported by a USB controller chip is insufficient, and to effectively employ multiple functions.
To achieve the above objects, according to one aspect of the invention, a data transmission system comprises: a controller connected to a bus; and a plurality of functions connected to the controller, wherein the controller selects a predetermined number of functions from among the plurality of functions, and assigns the predetermined number of functions to a plurality of corresponding end points, and wherein, thereafter, the controller selects, from among the plurality of functions connected to the controller, a plurality of different functions, whose constitution is different from the functions that are assigned as the end points to reconstruct end points to provide a configuration that is compatible with the bus.
The bus is compatible with a plug-and-play function, and multiple functions can be connected as end points that are compatible with the bus. This configuration is preferable because the plug-and-play function, which is the feature of the bus, can be provided by software, without the intervention of an operator being required. Further, the bus will match or conform to the USB (Universal Serial Bus) standard.
In addition, when functions that differ from those that are assigned as the end points are requested, those end points that are compatible with the bus can be reconstructed. Such a configuration is superior because necessary functions can be assigned as end points compatible with the subject bus, without having to increase the number of controllers.
The term xe2x80x9cend pointsxe2x80x9d is used to indicate functions that are identified, for example, as USB interface terminal functions by a host. The term xe2x80x9cthereafterxe2x80x9d corresponds to a case wherein, after a system is powered on, a request for the connection of another function is transmitted to a host, or when an operator is manipulating another function.
According to another aspect of the invention, a data transmission system comprises: a host; a controller connected to the host via a plug-and-play compatible bus; and a plurality of functions, provided by the connected controller, that exceed in number the maximum end points that the controller can support, wherein the controller selects a predetermined number of functions from among the plurality of functions and enumerates, as end points, the functions that match in number the maximum end points, and wherein, thereafter, the controller replaces with a different function one of the functions that constitute the end points, and re-enumerates the end points.
When the controller is activated, the controller selects from among the plurality of functions a predetermined number, and assigns the selected functions to end points. Also, the controller selects a function requested by the host or one that is employed by the operator, and then reconstructs the end points. In addition, the controller selects functions, in priority order, up to and equal to the maximum number of end points that can be supported. This configuration is preferable, because even when a controller has an insufficient number of end points, another controller or a peripheral circuit, such as a hub, need not be additionally provided, and a considerable reduction in manufacturing costs can be realized.
According to an additional aspect of the invention, a data transmission terminal, which can be connected to a host via a USB interface and to which a plurality of functions are connected, comprises: a controller for constituting the plurality of functions as USB compatible functions; and a memory used to store information relative to the order in which a plurality of functions should be enumerated as being USB compatible functions, wherein, based on the order of the information stored in the memory, the controller selects a predetermined number of functions from among the plurality of functions, enumerates the number of functions that is available, within the limits imposed on the functions that can be supported as USB functions, and notifies the host of the a configuration of the USB compatible functions. The data transmission terminal corresponds, for example, to a POS terminal.
As needed, the controller reconstructs, as USB compatible functions, functions that differ from the functions that are already serving as the USB compatible functions. Therefore, a function having a low priority, which is reported to the host as though it is not connected, can be added as necessary to the end points upon receipt of a request or an operation instruction, and the end points can then be reconstructed (enumeration). Therefore, even when for the controller there is and insufficient number of end points, a function having a low priority can be supported.
According to a further aspect of the invention, a controller, which can be connected to a host via a plug-and-play compatible bus and that provides access to a plurality of functions, comprises: assignment means for selecting predetermined functions from among a plurality of functions and for assigning the predetermined functions to end points compatible with the bus; request acceptance means for accepting requests for functions other than the predetermined functions that are selected as the end points; and re-assignment means for reassigning the requested functions as end points compatible with the bus.
From among a number of functions that is greater than the number of end points that the controller can support, the assignment means selects a number of functions that matches the number of end points, and assigns them as end points. The request acceptance means accepts a request by identifying a request command received from the host or an operation performed by an operator for a function other than the predetermined functions. For example, when a key pad is not selected by a POS system, a request can be accepted when an operator manipulates the key pad.
According to one more aspect of the invention, an interface method, for enabling a host to determine whether a plurality of functions connected to a controller are bus end points, comprises the steps of: connecting, to the controller, a number of functions that exceeds the number of end points that the controller can support; selecting, from among the plurality of connected functions, functions equivalent in number to the count of the end points that the controller can support; notifying the host of the existence of functions other than the selected functions as though the functions were not connected; and removing a specific function from the selected functions when a request for a different function is issued by the host or when an operator manipulates a switch to activate a different function, and allocating, as end points, functions including the different function that is requested or is activated.
A number of functions equivalent to the number of end points that are supported by the controller are selected in a descending priority order that is defined in advance, and based on the priority order, the specific function is removed from the end points. Further, the employment states of the plurality of functions are obtained, and the removal of the specific function is based on the employment states. These configurations are preferable because a reduction in the number of controllers and in the manufacturing costs can be realized while an operating level can be maintained that is, to a degree, superior.
According to yet another aspect of the invention, an interface method for defining USB compatible functions for a plurality of functions that are provided by a USB controller, comprises the steps of: selecting, at the time of activation, from among the plurality of functions a number of functions that the USB controller can support as USB compatible functions, and enumerating the USB compatible functions; receiving a request for functions other than the selected functions; and re-enumerating the requested functions as USB compatible functions.
Further, at the time of activation, a function that is required for the activation and one that is frequently used are selected and enumerated as USB compatible functions. Then, even when it is determined that the number of end points that the controller can support is insufficient, required functions can be dynamically reconstructed, and can be used as USB functions.
According to yet an additional aspect of the invention, an interface method whereby a system can be connected to a host via a USB interface and a plurality of functions can subsequently be connected to the system, comprises the steps of: activating the system as a USB compatible terminal that includes a predetermined number of frequently employed functions selected from among the plurality of functions; changing the configuration of the functions, as needed, after power has been rendered on; reconstructing the functions as the USB compatible terminal based on the alteration of the configuration, so that the plug-and-play function can be provided by software. This configuration is preferable because even when, as the USB terminal, the support capability is low, reconstruction enables the support of a USB compatible terminal, and ensures that a high performance will be obtained and that manufacturing costs will be reduced.